package com.ph.shopping.facade.member.service;

import com.ph.shopping.common.util.result.Result;
import com.ph.shopping.facade.member.dto.BankBindInfoDto;
import com.ph.shopping.facade.member.dto.BankCardInfoPageDto;
import com.ph.shopping.facade.member.entity.BankCardInfo;
import com.ph.shopping.facade.member.vo.UnbundBankCardInfoVo;
/**
 * 
* @ClassName: IBankCardBindService  
* @Description: TODO(这里用一句话描述这个类的作用)  
* @author lijie  
* @date 2017年3月16日  
*
 */
public interface IBankCardBindService {

	/**
	 * 
	* @Title: bindBankCardInfo  
	* @Description: 绑定银行卡  
	* @param @param bankCardInfo
	* @param @return    参数  
	* @return int    返回类型  
	* @throws
	 */
	Result bindBankCardInfo(BankBindInfoDto dto);
	
	/**
	 * 
	* @Title: UnbundBankCardInfo  
	* @Description: 解绑银行卡  
	* @param @param bankCardInfo
	* @param @return    参数  
	* @return int    返回类型  
	* @throws
	 */
	Result UnbundBankCardInfo(UnbundBankCardInfoVo unbundBankCardInfo);
	/**
	 * 
	* @Title: getBankCardInfoList  
	* @Description: 查询绑定的银行卡信息  
	* @param @param bankCard
	* @param @return    参数  
	* @return Result    返回类型  
	* @throws
	 */
	Result getBankCardInfoList(BankCardInfo bankCard);
	/**
	 * 
	* @Title: getBankCardInfoByPage  
	* @Description: 根据分页信息得到绑定的银行卡信息  
	* @param @param bankCardPageVo
	* @param @return    参数  
	* @return Result    返回类型  
	* @throws
	 */
	Result getBankCardInfoByPage(BankCardInfoPageDto dto);
	/**
	 * 
	* @Title: getBankCardInfoById  
	* @Description: 根据ID 查询  银行卡信息
	* @param @param id
	* @param @return    参数  
	* @return Result    返回类型  
	* @throws
	 */
	Result getBankCardInfoById(Long id);
	/**
	 * 
	* @Title: getBankCodeAndNameByCode  
	* @Description: 根据银行卡卡号获取名称信息
	* @param @param bankCode
	* @param @return    参数  
	* @return Result    返回类型  
	* @throws
	 */
	Result getBankCodeAndNameByCode(String bankCode);
	/**
	 * 
	 * @Title: getBankCardInfo   
	 * @Description: 根据用户ID 查询绑定的银行卡信息   
	 * @param: @param userId
	 * @param: @param userType
	 * @param: @return      
	 * @return: Result      
	 * @throws
	 */
	Result getBankCardInfo(Long userId,Byte userType);
	
}
